package de.zainodis.commons.component.ui.keyboard;

import android.content.Context;
import android.content.res.Resources;
import android.content.res.XmlResourceParser;
import android.inputmethodservice.Keyboard;

public class LatinKeyboard extends Keyboard {

   public LatinKeyboard(Context context, int xmlLayoutResId) {
	 super(context, xmlLayoutResId);
   }

   public LatinKeyboard(Context context, int layoutTemplateResId, CharSequence characters,
	    int columns, int horizontalPadding) {
	 super(context, layoutTemplateResId, characters, columns, horizontalPadding);
   }

   @Override
   protected Key createKeyFromXml(Resources res, Row parent, int x, int y, XmlResourceParser parser) {
	 return new LatinKey(res, parent, x, y, parser);
   }

   static class LatinKey extends Keyboard.Key {

	 public LatinKey(Resources res, Keyboard.Row parent, int x, int y, XmlResourceParser parser) {
	    super(res, parent, x, y, parser);
	 }

	 /**
	  * Overriding this method so that we can reduce the target area for the
	  * key that closes the keyboard.
	  */
	 @Override
	 public boolean isInside(int x, int y) {
	    return super.isInside(x, codes[0] == KEYCODE_CANCEL ? y - 10 : y);
	 }
   }

}
